#include <cstdio>
#include <algorithm>

using namespace std;
// 给定一个长度为 n 的整数序列 a1,a2,…,an 以及一个长度为 m 的整数序列 b1,b2,…,bm。

// 请你判断 a 序列是否为 b 序列的子序列。

// 子序列指序列的一部分项按原有次序排列而得的序列，例如序列 {a1,a3,a5} 是序列 {a1,a2,a3,a4,a5} 的一个子序列。

const int N = 100010;
int a1[N], a2[N];

int main()
{
    int n, m;
    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; ++i)
    {
        scanf("%d", &a2[i]);
    }
    for (int i = 0; i < m; ++i)
    {
        scanf("%d", &a1[i]);
    }

    int p1 = 0, p2 = 0;

    while (p1 < m && p2 < n)
    {
        if (a1[p1] == a2[p2]){
            p2++;
        }
        p1++;
    }
    if (p2 == n)
    {
        printf("Yes\n");
    }
    else
    {
        printf("No\n");
    }
    return 0;
}